#include "Monster.h"

// Pointer Constructors
Monster::Monster(Monster *baseMonster, Vector3f &pos, Vector3f &vel, Vector3f &acceleration)
{
	*this = *baseMonster;
	position = pos;
	velocity = vel;
	accel = acceleration;
}
Monster::Monster(Monster *baseMonster, Vector3f &pos)
{
	*this = *baseMonster;
	position = pos;
}
Monster::Monster(Monster *baseMonster)
{
	*this = *baseMonster;
}
// File Constructors
Monster::Monster(std::string fileName, Vector3f &pos, Vector3f &vel, Vector3f &acceleration)
    :Objects(fileName, pos)
{
    // Maybe we can give Monsters an identifier somehow..
	velocity = vel;
	accel = acceleration;
}
Monster::Monster(std::string fileName, Vector3f &pos)
    :Objects(fileName, pos)
{
	// yay Object Constructor!
}
Monster::Monster(std::string fileName)
    :Objects(fileName)
{
	//justin magic goes in here
}

void Monster::update()
{
	/*position.x = lerp (path[prevPoint]->x, path[nextPoint]->x, movementIncr);
	position.y = lerp (path[prevPoint]->y, path[nextPoint]->y, movementIncr);

	movementIncr += updateTimer->getElapsedTimeSeconds();

	if (movementIncr >= 1)
	{
		movementIncr = 0;
		nextPoint++;
		prevPoint++;
	
		rotation.rotateAround(Vector3f(0,1,0), (path[prevPoint] - position).findAngleBetween(path[nextPoint] - position));
	}*/
}